iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0

RAID

tags: IT鐵人

這個硬碟有多棒

在評斷一個硬碟有多高的Availability時,我們會考慮硬碟多久會壞掉、修復一次要花費多少時間,再來計算它的Availability。

第一個名詞是MTTF(Mean Time To Failure),意旨它多久後會出錯,所以這個時間越大越好,代表在這段時間內它都是可以運作的。

第二個名詞是MTTR(Mean Time To Repair),意旨它維修一次要多久,我們會希望它能夠越快修好越好。

而將上面兩個加起來的結果稱為MTBF(Mean Time Between Failure),代表兩次壞掉的間隔,也就是兩次去找老闆報修的時間間隔。

那麼我們的Availability的計算方式就是MTTF / MTBF,也就是MTTF / (MTTF + MTTR)。

修復的時間比較不好更動,而且一般來說修復的時間蠻短的,所以我們會希望盡量提高MTTF,改善MTTF的作法有下面三個:

名稱 內容
錯誤避免(fault avoidance) 藉由結構的設計避免錯誤的產生。
錯誤容忍(fault tolerance) 藉由多餘的硬體或軟體,在發生錯誤的狀況下仍然能夠運作。
錯誤預測(fault forecasting) 預期錯誤的出現和產生。

以下我們討論fault tolerance的作法,也就是RAID。

RAID

RAID全名為Redundant Arrays of Inexpensive Disks,目標就是拿多一點便宜的硬碟組合成一個大且貴的硬碟。所謂的貴也就是為了安全啦。

在RAID中我們主要使用以下兩種技術:

  • Data Stripping:將資料分散到不同的硬碟,讓每次存取資料能夠更快速。
  • Redundancy:透過增加硬碟增加他的Availability。

以下是各種RAID的說明:

名稱 圖片 說明
RAID 0 (No redundancy) 只是拆成多個硬碟,沒辦法容許錯誤,資料發生錯誤就遺失了。
RAID 1 (Mirroring) 拆了硬碟並且複製一份,需要用到RAID 0兩倍的硬碟數目,是最昂貴的RAID作法。
RAID 2 (Error Detecting and Correcting Code) 借用常用在記憶體的error detection及更正作法(Hamming code)。寫入時要讀出所有硬碟資料,重新計算hamming code並寫入ECC硬碟,效率不佳。
RAID 3 (Bit-Interleaved Parity) 把硬碟分組,同組的硬碟加總計算後存入另一個硬碟,將來某個資料出現錯誤時,就把加總的部份減去其他的資料就好了。
RAID 4 (Block-Interleaved Parity) 跟RAID 3很像,只是不把所有硬碟的資料加總,以Block為單位加總,如此一來可以減少計算錯誤時所動用的硬碟數量。
RAID 5 (Distributed Block-Interleaved Parity) 為了改進RAID 4把錯誤處理的資料放在同一個硬碟,RAID 5將資料分開在每一個硬碟上,如此一來可以避免所有人都擠著要修正錯誤。
RAID 6 (P+Q Redundancy) 避免同時發生兩個錯誤,所以做了兩個錯誤偵測的區塊,這樣即使一個錯誤處理的資料不夠,還有另一個錯誤處理的資料可以使用。
RAID 1+0 or 0+1 這邊就只是看要先做RAID 0或是RAID 1而已,可以看看。

結束一個科目了~

恭喜各位完成了計算機組織與結構,接下來會進入作業系統的部份。

如果說電腦是一個籃球比賽,那麼籃框跟籃球就是我們結束的部份,後面的作業系統就像是規則,在往上的應用程式就是球員以及打比賽的技巧。

還有很長的路阿各位...

上一篇 下一篇
Disk很大,你忍一下 OS初體驗


上一篇
Day-14 Disk很大,你忍一下
下一篇
Day-16 OS初體驗
系列文
杰哥的考研紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言